package day2.cases.traittest

/**
  * Created by Administrator on 2017/6/8.
  * 把这个trait当做  java里面的接口使用
  * 面向接口编程 跟Java里面是一样的
  */
trait HelloTrait {
  def sayHello(name:String)
}

trait MakeFriendsTrait{
  def makeFriends(w:Worker)
}

/**
  * 如果想   实现/继承  trait ，使用关键字是 extends
  * 如果trait有多个，第一个trait使用extends
  * 其余所有的trait 都使用 with
  * @param name
  */
class Worker(var name:String) extends HelloTrait with MakeFriendsTrait{//implements
  def sayHello(name:String): Unit ={
     println("hello ,"+name)
  }
  def makeFriends(w:Worker)=println("hello, my name is"+name+" you name is"+w.name)
}

object teston2{
  def main(args: Array[String]) {
    val p1=new Worker("xiaoma");

    val p2=new Worker("linghuchong")


    p1.sayHello("lihuchong")
    p1.makeFriends(p2)
  }
}
